package cn.juni.service.impl;

import cn.juni.dao.IProductDao;
import cn.juni.pojo.Product;
import cn.juni.service.IProductService;
import com.github.pagehelper.Page;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

/**
 * @author Juni
 * @date 2021/2/22
 */
@Service
public class ProductServiceImpl implements IProductService {

    @Autowired
    IProductDao productDao;

    public List<Product> findAllProduct(Integer pageNum,Integer pageSize,Product product) {
        if(pageNum <= 0){
            pageNum = 1;
        }
        if(pageSize <= 0){
            pageSize = 3;
        }
        //映射文件中是直接使用了类中的属性，其原理是因为通过解析xml文件后会利用反射找到类中的setter和getter方法，就相当于通过对象调用了方法
        //如果对象为空就会出现空指针，此时就可以给以默认的对象，对象中的属性值都是默认值
        if(product == null){
            product = new Product();
        }
        //分页查询
        PageHelper.startPage(pageNum,pageSize);
        return productDao.findAllProducts(product);
    }

    public int insertProduct(Product product) {
        return productDao.insertProduct(product);
    }

    public int deleteProductById(String id) {
        return productDao.deleteProductById(id);
    }

}
